# -*- coding: utf-8 -*-
"""
Created on Sat Aug 19 07:16:53 2023

@author: skunk69
"""

import json

chinese_name = u'思维风格量表'
english_name = 'Thinking Styles Inventory'
abbreviation = 'TSI'
category = u'行为方式量表'

outline = u"""思维风格是指人们进行思考方式的偏好，它不是一种能力，而是一种偏好的表达和使用能力的方式。思维风格不是反映思维能力的高低，而是反映个体运用自己思维能力的方式和特点，因此思维风格没有好坏之分，但是存在有效与无效之分。我们不能说哪一种思维风格更好，哪一种思维风格是普遍有效的，只能说哪一种思维风格对解决哪一类问题更加有效。思维风格与静态、单一的人格特质不相同，常与如何运用智能的相关禀赋联系在一起。一个人身上往往会同时存在多种思维风格，而且一个人的思维风格也不是一成不变的，会随着不同的工作和学习任务发生改变。
思维风格量表（Thinking Styles Inventory，TSI）是美国著名的心理学家斯腾伯格根据“心理自我管理”理论编制的一套用于测量个体思维风格的问卷。2007年秦浩等对其进行翻译，形成中文版本。"""

instruction = u"""如果您想知道自己的思维风格类型，请回答下面的问题。各种回答无所谓正确与错误，只要适合于您情况的答案就是正确的。每个条目内容都是以陈述式表达，候选条目以与您实际情况的符合程度从低到高都分为完全不符合、相当不符合、比较不符合、说不清、比较符合、相当符合、完全符合7个等级。请您根据自己的实际情况选择最符合您意愿的选项。"""

with open('TSI.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for line in lines[::8]:
    key,value = line.strip().split('、',maxsplit=1)
    items[key] = value.strip()

reverse_items = []
scales = [u'立法型风格',u'执法型风格',u'审判型风格',u'专制型风格',u'等级型风格',
          u'平等竞争型',u'无政府主义型风格',u'全局型风格',u'局部型风格',
          u'内倾型风格',u'外倾型风格',u'激进型风格',u'保守型风格']

scales_items = []
for i in range(len(items)//8):
    scales_items.append(list(range(i*8+1,(i+1)*8+1)))

factors = []
factors_scales = []
rating = [l.strip() for l in lines[1:8]]
score_rules = list(range(1,8))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《思维风格量表》属于一个自评量表。"""

reliability = u"""以某医学院医学硕士研究生为调查对象，既有刚从本科毕业的，也有具有工作经历的执业医师，并且来自全国各地。总量表的Cronbach α系数为0.83，13个分量表的信度系数在0.48~0.88。"""
validity = u"""先对样本进行探索性因素分析，对量表的结构构想进行评价，并且在此基础上采用结构方程模型进行验证，探索性因子分析提出的初始模型得到验证，该量表具有较好的效度。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""思维风格的解释：
（1）立法型风格（the legislative style），喜欢创造和提出计划，按自己的思想和观点做事。
（2）执法型风格（the executive style），喜欢按照给定的结构、程序和规则做事。
（3）审判型风格（the judicial style），喜欢判断和评价已有的事物和方法。
（4）专制型风格（the monarchic style)，在一个时间内只能处理一件事物或者一个方面，做完一件事情再做另一件事情，在处事时不易受到外界的干扰。
（5）等级型风格（the hierarchic style），可以同时面对多种事物，有很好的秩序感，处事有条理。
（6）平等竞争型（the oligarchic style），认为多个目标和方法具有同等的重要性。
（7）无政府主义型风格（the anarchic style），偏好在无结构、没有清晰程序可遵循的环境下工作。
（8）全局型风格（the global style），喜欢处理整体的、抽象的事物，喜欢概念化、观念化的任务。
（9）局部型风格（the local style），喜欢处理具体的、细节的事物。
（10）内倾型风格（the internal style），喜欢单独工作。
（11）外倾型风格（the external style），喜欢与他人一起做事或在团体中工作。
（12）激进型风格（the liberal style），面对不熟悉、不确定的情境，超出现有的程序和规则，对变化的容忍力高。
（13）保守型风格（the conservative style），喜欢能按照已有的程序和规则做事的任务和情境，喜欢做熟悉的工作，避免模糊与变化。
将每个分量表中8个项目的得分相加后除以8得到分量表的平均分。被试者在某个分量表上的得分越高，说明他在处理问题和思考时该风格特征越突出。"""

applications = u"""无常模。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)